#include "console.h"
#include "uart.h"
#include "printf.h"   // 注意：本文件使用 printf 组合输出 ANSI 序列中的数字

void clear_screen(void) {
    // 清屏 + 光标回到(1,1)
    uart_puts("\033[2J\033[H");
}

void goto_xy(int x, int y) {
    // ANSI 光标坐标从 1 开始
    uart_puts("\033[");
    printf("%d", y + 1);
    uart_putc(';');
    printf("%d", x + 1);
    uart_putc('H');
}

void clear_line(void) {
    uart_puts("\033[K");
}

void set_color(int color) {
    if (color >= 30 && color <= 47) {
        uart_puts("\033[");
        printf("%dm", color);
    }
}

void reset_color(void) {
    uart_puts("\033[0m");
}